Skip to content

Release (3.14.3)#1782

Open
UserDerezzed wants to merge 51 commits into
masterfrom
development
Open

Release (3.14.3)#1782
UserDerezzed wants to merge 51 commits into
masterfrom
development

Conversation

@UserDerezzed

Copy link
Copy Markdown
Collaborator

This pull request was automatically created by the snapshot build to keep master up to date with development.

Port NMS compat layer from v1_21_R7 to target CraftBukkit 26.1-R0.1-SNAPSHOT with Java 25. Key changes from the v1_21_R7 base:

Build & mapping changes:
- Set remapServerCode=false since Spigot mapping remap is no longer needed
- Target Java 25 (options.release.set(25))
- Remove versioned CraftBukkit import paths (org.bukkit.craftbukkit.v1_21_R7.* -> org.bukkit.craftbukkit.*) for Paper's unversioned classloader

API migrations:
- Replace DyeItem.getDyeColor() with DataComponents.DYE item component lookups in EntityMySheep, EntityMyCat, and EntityMyWolf
- Replace LiquidBlock.SHAPE_STABLE with Block.column(16, 0, 8) in EntityMyStrider for lava float collision
- Replace ItemParticleOption(ParticleType, ItemStack) with ItemParticleOption(ParticleType, Item) in MyPetEgg
- Replace Entity.saveWithoutId(CompoundTag) with TagValueOutput-based serialization in PlatformHelper.entityToTag

Reflection deobfuscation (server jar now ships Mojang-mapped):
- EntityRegistry: "l"->"frozen", "m"->"unregisteredIntrusiveHolders", "k"->"allTags", "g"->"ENTITY_TYPE", "a"->"unbound", "u"->"refreshTagsInHolders", "d"->"toId"
- PlatformHelper: "ad"->"dragonParts", "a"->"readParticle"
- EntityConverterService: "ch"->"foodLevel", "cm"->"lastRestockGameTime", "ck"->"lastGossipDecayTime", "cn"->"numberOfRestocksToday", "cr"->"assignProfessionWhenSpawned"
- ItemStackNBTConverter: "v"->"list"
- Remove unnecessary reflection for public ParticleTypes fields (PORTAL, ITEM_SNOWBALL) — use direct access instead

Version detection:
- Add 26.1->v26_1_R1 mapping to versionmatcher.csv
- Fix CompatUtil regexes to handle multi-digit major versions (\d -> \d+)

Remove RawMessage dependency, replace with Spigot BaseComponent API:
- Replace all RawMessage usage with Spigot's net.md_5.bungee.api.chat (TextComponent, HoverEvent, ClickEvent, TranslatableComponent)
- Send messages via player.spigot().sendMessage() instead of tellRawTo() which dispatched /tellraw commands
- Convert ShowItemAction pet stat hovers to HoverEvent(SHOW_TEXT) with formatted text lines
- Remove compileOnly, shade, and relocate entries from all build files

Tested on Paper 1.8.8, 1.21.11, and 26.1
Added UserDerezzed repository for pulling Spigot jars
Added publishing mypet-api to UserDerezzed repository
Cleanup/optimize Gradle files
Removed Polymart publishing
Removed unused Hangar publishing
Removed unused environment secrets
Should resolve issues with custom items from plugins like ItemsAdder
A pet's display name on capture now comes from Mojang's `entity.minecraft.<bukkit-name>` translation rendered in the creator's client locale, instead of MyPet's per-locale `Name.<PetType>` rows. The legacy lookup is intentionally dropped: Mojang's translations cover every shipped entity in every supported locale and update with each game version, so a per-locale MyPet override would be a redundant maintenance burden. Owners and admins who want a custom default use `/petname` to rename after creation.
UserDerezzed and others added 21 commits June 29, 2026 23:56
MobStackerBHook.onEnable() fetched the plugin instance by name "StackMob"
(a copy-paste leftover from StackMobHook) instead of MobStacker, so the
Optional was empty and .get() threw NoSuchElementException on servers
running the kiwifisher MobStacker build. Switch to the class-based
getPluginInstance(MobStacker.class) lookup, which resolves the correct
plugin directly and avoids the name collision with the other MobStacker
plugin handled by MobStackerAHook.

Fixes #1379

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant